From 5aff2f49babfd878120835cdd4b141a2a084c690 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 18 Mar 2008 10:51:20 +0000 Subject: [PATCH] x86: Clean ups and fixes after bitops changes. Firstly, the vlapic bitops need fewer casts. Secondly, the minimum-alignment check is unnecessary and also breaks the build (page_info's type_info field has alignment == 1). It is an unnecessary check because bitops operate on only one bit of the word they access, so lack of atomicity of the read and writeback does not matter -- furthermore the LOCKed variants are guaranteed atomic regardless of alignment. Signed-off-by: Keir Fraser --- xen/arch/x86/hvm/vlapic.c | 6 ++---- xen/include/asm-x86/bitops.h | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c index 071f9b3c50..bf53ba7a1a 100644 --- a/xen/arch/x86/hvm/vlapic.c +++ b/xen/arch/x86/hvm/vlapic.c @@ -114,14 +114,12 @@ static int vlapic_find_highest_vector(void *bitmap) static int vlapic_test_and_set_irr(int vector, struct vlapic *vlapic) { - return vlapic_test_and_set_vector( - vector, (unsigned long *)&vlapic->regs->data[APIC_IRR]); + return vlapic_test_and_set_vector(vector, &vlapic->regs->data[APIC_IRR]); } static void vlapic_clear_irr(int vector, struct vlapic *vlapic) { - vlapic_clear_vector( - vector, (unsigned long *)&vlapic->regs->data[APIC_IRR]); + vlapic_clear_vector(vector, &vlapic->regs->data[APIC_IRR]); } static int vlapic_find_highest_irr(struct vlapic *vlapic) diff --git a/xen/include/asm-x86/bitops.h b/xen/include/asm-x86/bitops.h index fd90c50355..5143bb525b 100644 --- a/xen/include/asm-x86/bitops.h +++ b/xen/include/asm-x86/bitops.h @@ -26,7 +26,7 @@ #define CONST_ADDR (*(const volatile long *) addr) extern void __bitop_bad_size(void); -#define bitop_bad_size(addr) (min(sizeof(*(addr)), __alignof__(*(addr))) < 4) +#define bitop_bad_size(addr) (sizeof(*(addr)) < 4) /** * set_bit - Atomically set a bit in memory -- 2.30.2